development builds
Expoを実機で見ながら開発するために使う
雑に言えばExpo Goに代わるもの
Native Layerに影響を与えるlibraryを使っているとExpo Go上では動かせない
そこで、runtimeも含めて配布してデバッグできる
利点
Testflightなどを経由せずにチームに配布できるので速い
実機を見ながら開発したい際に使用できる
スマホに表示しながらコードを触れば反映される
expo-dev-clientを使用する
docs
device向けにbuildする ref
初回のみ
λ npx eas-cli@latest device:create
通常時
$ npx eas-cli@latest build --profile development -p ios
どのdeviceに対してbuildするか?の選択肢が表示される
その後QRコードが表示されるのでスマホで読み取るとinstallされる
Androidの場合はexpo.dev経由でinstallした
installしたアプリを起動すると以下のような表示になる
https://gyazo.com/ab79486b1f7fb23ec4fd8dc233658fe7
直接これを使うわけではないので一回閉じておく
λ npx expo startを実行する
QRコードが表示されるのでスマホで読むと起動できる
Androidの場合はスキャンのためにExpo Goアプリが必要
ポップの中を見ないとちゃんと入らない
この状態でコードを変更すればスマホ上のアプリにも反映される
https://www.youtube.com/watch?v=Iw8FAUftJFU
#WIP
emulator/simulator向けにbuildする
https://docs.expo.dev/develop/development-builds/create-a-build/#create-a-development-build-for-emulatorsimulator
https://blog.expo.dev/expo-dev-client-0-8-0-7116c1945253
v 0.8.0
2021/12/24
web上のQRコード
アプリが入るがこのAppは、整合性を確認できなかったためインストールできませんのエラーが出て開けない
expo start --dev-clientのQRコード
認識できないので開けない
ios ditributionの証明書を追加した
expo-dev-clientにもConfig Pluginsが含まれているので、prebuild時に処理される
↑何でこのページ、eas.jsonについて言及していないんだ #??
関係ないのか?
やり方何種類あるんだよ
https://docs.expo.dev/build/eas-json/#development-builds
code:eas.json
{
"build": {
"development": {
"developmentClient": true, // これ
"distribution": "internal",
"ios": {
"simulator": true
}
}
// ...
}
// ...
}
developmentClient: trueが、expo-dev-clientに関する設定
開発時にnative codeに依存したものを使える
ios.simulator: trueは、standalone appをsimulator上で動かせる
https://docs.expo.dev/build-reference/simulators/
distribution: internalは、Internal Distribution
コードを知っている人に配布できる
↑コレどこに書くべきか?
eas.jsonか、このノーとか
EASのBuild Profilesでもいい
Introduction
[Getting Started
Creating Development Builds
Share with your team
Parallel installation
Tools, workflows and extensions
Next steps
本番buildと同じcustom native codeを含めることができる?
https://blog.expo.dev/turtle-goes-out-to-sea-d334db2a6b60#:~:text=expo%20client%3Aios%3A%20this,build%20--profile%20development).
https://www.youtube.com/watch?v=fViC42fjx40&feature=emb_title